草庐IT

python noobie范围问题

全部标签

c# - Xunit.Assert.Collection 中的问题 - C#

我有一个类库,它包含以下模型和方法型号:publicclassEmployee{publicintEmpId{get;set;}publicstringName{get;set;}}方法:publicclassEmployeeService{publicListGetEmployee(){returnnewList(){newEmployee(){EmpId=1,Name="John"},newEmployee(){EmpId=2,Name="AlbertJohn"},newEmployee(){EmpId=3,Name="Emma"},}.Where(m=>m.Name.Contai

List<String[]> 的 C# "funny"问题

我的C#应用程序中的List有一些奇怪的问题。这一定是分配错误或者我做错了什么(我是普通的C#开发人员)。让我举一个接近我的台词的例子:ListMyPrimaryList=newList();ListMySecondaryList=newList();String[]array;StringarrayList="one,two,three,four,five";array=arrayList.Split(',');MyPrimaryList.Add(array);MySecondaryList.Add(array);MyPrimaryList[0][0]+="half";所以现在我希望

c# - 一次性问题

假设我有以下内容:publicabstractclassControlLimitBase:IDisposable{}publicabstractclassUpperAlarmLimit:ControlLimitBase{}publicclassCdsUpperAlarmLimit:UpperAlarmLimit{}两个问题:1.我对我的IDisposable成员何时真正被调用感到有点困惑。当CdsUpperAlarmLimit的实例超出范围时,它们会被调用吗?2。我将如何处理在CdsUpperAlarmLimit类中创建的对象的处置?这也应该派生自IDisposable吗?

c# - 这个表达有什么问题?无法将类型 'int' 隐式转换为 'byte'

我收到错误“无法将类型‘int’隐式转换为‘byte’。存在显式转换(是否缺少强制转换?)”。byte+byte=byte不是吗?我还注意到当我删除+rgb.Green时它起作用了//rgb.Red,rgb.Green,rgb.Bluearebytetypes//h,deltaaredoublergb.Red=Convert.ToByte(Math.Round((h-4)*delta))+rgb.Green;publicstructRGBColor{publicbyteRed{get;set;}publicbyteGreen{get;set;}publicbyteBlue{get;se

c# - 动态关键字问题

请告诉我在哪个版本中引入了动态关键字?我在VS2010中发现了奇怪的行为。我将目标框架设置为3.5。但是没有编译器错误。只需创建一个目标框架为.net3.5的控制台应用程序并使用dynamic关键字。 最佳答案 .Net4.0引入了动态类型。动态类型不是语言独有的特性(即纯粹由编译器支持)。它依赖于DLR,这是一个需要库支持的.Net4.0功能。您不能使用dynamic并以.Net3.5框架为目标。 关于c#-动态关键字问题,我们在StackOverflow上找到一个类似的问题:

C# 和 Excel Interop 问题,保存 excel 文件不流畅

我可以打开和写入excel文件,但是当我尝试通过传递路径来保存文件时,保存操作会提示保存对话框。我期待它能够将文件保存在指定路径代码如下:excelApp.Save(exportToDirectory);excelApp.Quit();其中,exportToDirectory是:“C:\files\strings.xlsx”。PS:我已经检查过excel版本和类似问题。谢谢 最佳答案 您需要使用Workbook.SaveAs而不是Application.Save:Excel.Applicationapp=newExcel.Appli

c# - 除以零错误,我该如何解决这个问题?

这里是C#新手,当下面的int'max'为0时出现被零除错误,我明白为什么会发生这种情况,但是当max为0时我应该如何处理?位置也是一个整数。privatevoidSetProgressBar(stringtext,intposition,intmax){try{intpercent=(100*position)/max;//whenmaxis0bughitsstringtxt=text+String.Format(".{0}%",percent);SetStatus(txt);}catch{}} 最佳答案 intpercent=0

c# - 将句子拆分成单词但在 C# 中遇到标点符号问题

我已经看到了一些类似的问题,但我正在努力实现这一目标。给定一个字符串,str="月亮是我们的天然卫星,即它绕着地球旋转!"我想提取单词并将它们存储在数组中。预期的数组元素是这样的。themoonisournaturalsatellitei.e.itrotatesaroundtheearth我尝试使用String.split(','\t','\r')但这不能正常工作。我也尝试删除.,和其他标点符号,但我想要一个像“i.e.”这样的字符串也被解析出来。实现这一目标的最佳方法是什么?我也尝试使用regex.split无济于事。string[]words=Regex.Split(line,@"

c# - 为什么我不能在范围内的 switch 语句中使用 "constant"?

使用这段代码:publicpartialclassForm1:Form{privatestaticreadonlyintTABCONTROL_BASICINFO=0;privatestaticreadonlyintTABCONTROL_CONFIDENTIALINFO=1;privatestaticreadonlyintTABCONTROL_ROLESANDSECURITY=2;privatestaticreadonlyintTABCONTROL_INACTIVEINFO=3;...intActiveTabPage=tabControlWorker.SelectedIndex;swit

C# - 超出范围时对象是否立即销毁?

我可以相信一个对象在超出C#范围时会被销毁并立即调用其析构函数吗?我认为它应该是因为许多常见的编码实践(例如事务对象)都依赖于这种行为,但我不太习惯使用垃圾收集并且对这些语言通常的行为方式知之甚少。谢谢。 最佳答案 不,.Net和C#都依赖于垃圾回收内存管理。因此,在GC发现销毁对象是合适的之前,不会调用析构函数(在.Net中称为终结器)。另外:C#中的大多数“常规”对象没有析构函数。如果你需要析构函数模式,你应该实现IDisposableinterface与DisposePattern.在一次性对象上,您还应该确保使用usingk